近年来,边缘计算设备和人工智能应用程序的数量过多。在边缘计算中,决策过程和计算从服务器转移到边缘设备。因此,需要便宜和低电源设备。 FPGA具有非常低的功率,倾向于进行平行操作和用于运行卷积神经网络(CNN)的非常合适的设备,这是人工智能应用程序的基本单位。监视系统上的面部检测是安全市场上最期待的应用。在这项工作中,重新设计了Tinyyolov3体系结构并部署了面部检测。它是一种基于CNN的对象检测方法,并为嵌入式系统开发。 Pynq-Z2被选为具有低端Xilinx Zynq 7020 System-On-Chip(SOC)的目标板。重新设计的TinyYolov3模型是用Brevitas库以许多位宽度精度定义的,Brevitas库将基本的CNN层和激活以整数量化形式。然后,使用宽面数据集对模型进行了量化结构的训练。为了减少延迟和功耗,FPGA的ONCHIP内存被配置为整个网络参数的存储,最后一个激活函数被修改为重新定制的Harttanh而不是Sigmoid。同样,高度的并行性应用于FPGA的逻辑资源。使用FINN Framework和Finn-HLS库将模型转换为基于HLS的应用程序,其中包括C ++中的图层定义。后来,该模型被合成和部署。 SOC的CPU采用多线程机制,负责预处理,后处理和TCP/IP流操作。因此,使用4位精确模型可实现2.4瓦总板的功耗,每秒18帧(FPS)吞吐量和0.757地图精度率。
translated by 谷歌翻译